package com.miplus.ccrm.core.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 借据表(业务表)
 * @TableName iou_loan_invoice_info
 */
@TableName(value ="iou_loan_invoice_info")
@Data
public class IouLoanInvoiceInfo implements Serializable {
    /**
     * 自增id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 借据号
     */
    private String loanInvoiceId;

    /**
     * 租户号（若无默认000）
     */
    private String tenantId;

    /**
     * 产品编号
     */
    private String productId;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 产品类型[详见EnumProductType]
     */
    private String productType;

    /**
     * 借款人编号
     */
    private String borrowerId;

    /**
     * 借款用户姓名
     */
    private String borrowerName;

    /**
     * 借款人类型 EnumUserType
     */
    private String borrowerType;

    /**
     * 借款用途：[详见：EnumLoanPurpose]
     */
    private String loanPurpose;

    /**
     * 渠道编号[Enumaccess_channel]
     */
    private String channelNo;

    /**
     * 渠道名称
     */
    private String channelName;

    /**
     * 审核方式 0-新申请 1-自动审核单 2-:人工审核单
     */
    private String autoPassFlag;

    /**
     * 借款人证件类型：[详见：EnumIdKind]
     */
    private String borrowerCertificateKind;

    /**
     * 借款人证件号
     */
    private String borrowerCertificateId;

    /**
     * 放款流水
     */
    private String loanSerialNo;

    /**
     * 支用金额(放款本金)
     */
    private BigDecimal loanAmt;

    /**
     * 剩余本金
     */
    private BigDecimal leftPrinciple;

    /**
     * 处理中的本金(若无默认为0)
     */
    private BigDecimal inhandlePrinciple;

    /**
     * 初始利率(若无默认为0)
     */
    private BigDecimal initRate;

    /**
     * 执行利率
     */
    private BigDecimal executeRate;

    /**
     * 申请时间
     */
    private String applyLoanDate;

    /**
     * 起息日
     */
    private Date beginParofitDate;

    /**
     * 还款日
     */
    private Integer repayDay;

    /**
     * 借款期限
     */
    private Integer profitPeriod;

    /**
     * 还款计划期次
     */
    private Integer repayNum;

    /**
     * 结清日
     */
    private Date settleDate;

    /**
     * 真正结清日
     */
    private Date realSettleDate;

    /**
     * 借据状态：1-正常、2-逾期、3-结清、4-已冲正，未成功放款
     */
    private String loanInvoiceStatus;

    /**
     * 业务种类：1-自营贷款、2-联合贷、3-助贷
     */
    private String unionLoanType;

    /**
     * 商户编号
     */
    private String merchantId;

    /**
     * 授信限额ID
     */
    private String creditLimitId;

    /**
     * 合同号
     */
    private String contractId;

    /**
     * 合作方费用（若无则不传）
     */
    private BigDecimal partnerFee;

    /**
     * 核销状态：0-正常、1-核销、2-债转（说明：债转的借据状态前提是结清，并且是客户维度的所有借据都结清）
     */
    private String verificationStatus;

    /**
     * 提前到期状态：0-否、1-是
     */
    private String advanceStatus;

    /**
     * 操作人id
     */
    private String operatorId;

    /**
     * 所属组织id
     */
    private String ownOrganId;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 资金方id
     */
    private String fundUserId;

    /**
     * 保单号
     */
    private String policyNo;

    /**
     * 逾期金额
     */
    private BigDecimal overdueAmount;

    /**
     * 逾期天数
     */
    private Integer overdueDays;

    /**
     * 逾期阶段
     */
    private String overdueStage;

    /**
     * 客户经理姓名
     */
    private String custManagerName;

    /**
     * 资金方名称
     */
    private String fundUserName;

    /**
     * 强制催收标识：0-默认、 1-强制入催、2-强制出催（若无则不传）
     */
    private String forceFlag;

    /**
     * 授信合同名称
     */
    private String contractName;

    /**
     * 案件号
     */
    private Long creditcaseid;

    /**
     * 案件序列号
     */
    private String serialNumber;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}